aboutsummaryrefslogtreecommitdiff
path: root/src/routes/player/[player]/+page.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/player/[player]/+page.ts')
-rw-r--r--src/routes/player/[player]/+page.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/routes/player/[player]/+page.ts b/src/routes/player/[player]/+page.ts
new file mode 100644
index 0000000..023c3ff
--- /dev/null
+++ b/src/routes/player/[player]/+page.ts
@@ -0,0 +1,19 @@
+import type { PageLoad } from './$types'
+import { fetchApi } from '$lib/api'
+import { error, redirect } from '@sveltejs/kit'
+
+export const load = (async ({ params, fetch }) => {
+ const player: string = params.player!
+
+ const data = await fetchApi(`player/${player}?customization=true`, fetch).then(r => r.json())
+
+ if (!data.player) {
+ throw error(404, 'Unknown player')
+ }
+
+ if (data.player.username !== player) {
+ throw redirect(302, `/player/${data.player.username}`)
+ }
+
+ return data
+}) satisfies PageLoad